package com.easyjava.bean;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * @projectName: easyjava
 * @author: Li
 * @description:
 */

public class TableInfo {
    /**
     * 表名
     */
    private String tableName;

    /**
     * 对应实体类名
     */
    private String beanName;

    /**
     * 对应实体类参数名
     */
    private String beanQueryName;

    /**
     * 表注释
     */
    private String comment;

    /**
     * 字段列表
     */
    private List<FieldInfo> fieldList;

    /**
     * 扩展字段列表
     */
    private List<FieldInfo> fieldExtendList;

    /**
     * 主键索引
     */
    private Map<String, List<FieldInfo>> keyIndexMap = new LinkedHashMap();

    /**
     * 是否有日期类型字段
     */
    private Boolean haveDate;

    /**
     * 是否有日期时间类型字段
     */
    private Boolean haveDateTime;

    /**
     * 是否有BigDecimal类型字段
     */
    private Boolean haveBigDecimal;

    /**
     * 获取
     *
     * @return tableName
     */
    public String getTableName() {
        return tableName;
    }

    /**
     * 设置
     *
     * @param tableName
     */
    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    /**
     * 获取
     *
     * @return beanName
     */
    public String getBeanName() {
        return beanName;
    }

    /**
     * 设置
     *
     * @param beanName
     */
    public void setBeanName(String beanName) {
        this.beanName = beanName;
    }

    /**
     * 获取
     *
     * @return beanQueryName
     */
    public String getBeanQueryName() {
        return beanQueryName;
    }

    /**
     * 设置
     *
     * @param beanQueryName
     */
    public void setBeanQueryName(String beanQueryName) {
        this.beanQueryName = beanQueryName;
    }

    /**
     * 获取
     *
     * @return comment
     */
    public String getComment() {
        return comment;
    }

    /**
     * 设置
     *
     * @param comment
     */
    public void setComment(String comment) {
        this.comment = comment;
    }

    /**
     * 获取
     *
     * @return fieldList
     */
    public List<FieldInfo> getFieldList() {
        return fieldList;
    }

    /**
     * 设置
     *
     * @param fieldList
     */
    public void setFieldList(List<FieldInfo> fieldList) {
        this.fieldList = fieldList;
    }

    /**
     * 获取
     *
     * @return keyIndexMap
     */
    public Map<String, List<FieldInfo>> getKeyIndexMap() {
        return keyIndexMap;
    }

    /**
     * 设置
     *
     * @param keyIndexMap
     */
    public void setKeyIndexMap(Map<String, List<FieldInfo>> keyIndexMap) {
        this.keyIndexMap = keyIndexMap;
    }

    /**
     * 获取
     *
     * @return haveDate
     */
    public Boolean getHaveDate() {
        return haveDate;
    }

    /**
     * 设置
     *
     * @param haveDate
     */
    public void setHaveDate(Boolean haveDate) {
        this.haveDate = haveDate;
    }

    /**
     * 获取
     *
     * @return haveDateTime
     */
    public Boolean getHaveDateTime() {
        return haveDateTime;
    }

    /**
     * 设置
     *
     * @param haveDateTime
     */
    public void setHaveDateTime(Boolean haveDateTime) {
        this.haveDateTime = haveDateTime;
    }

    /**
     * 获取
     *
     * @return haveBigDecimal
     */
    public Boolean getHaveBigDecimal() {
        return haveBigDecimal;
    }

    /**
     * 设置
     *
     * @param haveBigDecimal
     */
    public void setHaveBigDecimal(Boolean haveBigDecimal) {
        this.haveBigDecimal = haveBigDecimal;
    }

    public List<FieldInfo> getFieldExtendList() {
        return fieldExtendList;
    }

    public void setFieldExtendList(List<FieldInfo> fieldExtendList) {
        this.fieldExtendList = fieldExtendList;
    }
}
